SAR A/D converters are used for analog-to-digital conversion. In this type of converter, conversion is based on a dichotomic search through all possible quantization levels to determine the final conversion value.
Referring to FIG. 1, which shows a block diagram of a classical SAR-A/D converter, a digital-to-analog converter (DAC), a Successive Approximation Register (SAR), a Sample-and-Hold circuit (S/H), an input voltage Vin and a reference voltage Vref are illustrated. The Sample-and-Hold circuit, which may also be integrated in a voltage comparator Comp, is configured to capture the input voltage Vin. The voltage comparator Comp which compares the voltage Vin with the output of the DAC, is configured to transmit the result to the Successive Approximation Register SAR. The Successive Approximation Register SAR emits an approximate digital code of the Vin to the internal DAC. The output of the internal DAC is fed back to the comparator with an analog signal equivalent to the output digital code of the SAR to be compared with the input voltage Vin.
Binary-weighted physical elements are usually employed in the internal DAC to carry out the conversion process. For example, these binary-weighted physical elements include resistors, capacitors, current generators and the like.
To convert a voltage corresponding to the binary code ‘101001’ (i.e., the code representing the number 41) using a binary converter having a number Nbit=NBitBin of bits equal to six, six physical elements are available. In the binary code ‘101001’ the physical elements corresponding to the indices 0, 3 and 5 (i.e., the ones of the binary code ‘101001’) are intended to be selected and the corresponding converted voltage is 41/64 Vref. Vref represents the reference voltage to be used for the conversion process.
However, if a thermometer-code SAR A/D converter is used, all the physical elements are nominally equal to one another. Therefore, during the conversion process, if the voltage corresponding to the binary code ‘101001’ (41) has to be converted using a thermometer-code converter having a number Nbit=NBitTh of bits equal to six, all the physical elements, equal to 64 (because 2^6=64), corresponding to the indices from 0 to 40 are selected (whereas the physical elements corresponding to the indices from 41 to 63 are not selected). The corresponding converted voltage is always equal to 41/64 Vref.
Conversely, in a converter having a mixed thermometer-code and binary design, the plurality of physical elements that form the converter are divided into two subsets. One subset is formed by thermometer elements and the other subset is formed by binary-weighted elements. Namely, the binary-weighted elements define the LSB bits of the output code generated by the converter, whereas the thermometer elements define the MSB bits of such output code. The accuracy of the converter with the thermometer-code and binary design is set by the smallest physical element implemented in the binary elements and corresponds to 1 LSB, i.e., the bit corresponding to the zero index of LSB bits.
The example of FIG. 2 is a converter with a thermometer-code and binary design having twelve bits, with an output code organized as follows. The binary physical elements are used for indices from 0 to 5, which represent the LSB bits of the output code. This means that the 0 index is given by a binary element, the 1 index is given by a binary element having twice the value (of the binary element for the 0 index), the 2 index is given by a binary element having four times the value (of the binary element for the 0 index), and so on. The thermometer elements are used for indices from 6 to 11, which represent the MSB bits of the output code. Each index involves the addition of as many thermometer elements as required by the index weight.
The problem of such a thermometer-code ADC is that, as the latter generates the values of the various voltages VThermo (Thermo=0, . . . 2NTh) of the thermometer levels as used in the A/D conversion process, these voltage values VThermo are affected by the problem that the thermometer elements are not identical. They should ideally be identical but they actually exhibit non-idealities, which introduce an error in such voltage values VThermo.
Thus, assuming that 64 thermometer elements are provided, the ideal voltages VThermo required during SAR conversion are:
      V    Thermo    =                    V        ref                    T        tot              ⁢                  ∑                  j          =          0                          Thermo          -          1                    ⁢                          ⁢              T        j            
The variable Ttot is the total value of the thermometer elements Thermo and belongs to the set from 0 to 64 and Tj belongs to the set T0, . . . , TThermo−1, because voltage levels are one more than the elements. Nevertheless, since all thermometer elements Tj are imperfect, each having its own error τj, then each thermometer element may be rewritten according to the formula Tj=Tideal+τj.
In view of the above, the real voltage values Vth required during SAR conversion are expressed by the following formula:
      V    Thermo    =                    V        ref                    T        tot              ⁢                  ∑                  j          =          0                          Thermo          -          1                    ⁢                          ⁢              (                              T            ideal                    +                      τ            j                          )            
Thus, the INL error between the ideal and real voltage sequences may be expressed by the following formula:
      INL    Thermo    =                    V        ref                    T        tot              ⁢                  ∑                  j          =          0                          Thermo          -          1                    ⁢                          ⁢              τ        j            
The variable ILNThermo represents an error for the nth level of the DAC converter. The ILNThermo depends on the order of thermometer-code errors and is inherently equal to zero for minimum and maximum voltage limits Vmin=0 and Vmax=Vref=V64 (because in this case the number of bits is supposed to be 6).
Various techniques have been suggested to minimize the ILNThermo value, but they suffer from certain drawbacks, such as the following. The calibration process for the thermometer elements requires internal and/or external physical quantities, such as an accurately selected reference voltage. Any mismatch between reference physical quantities affects the accuracy of the output code. Expensive dedicated analog and/or digital hardware is required.